from django.views import View
# 导入返回响应
from SaaSDevelTool.data_return_response import create_response
# 导入错误信息装饰器
from SaaSDevelTool.data_return_response import error_message_detection
# 导入解析用户信息函数
from SaaSDevelTool.data_user_func import user
# 获取当前时间
from SaaSDevelTool.data_datetime_func import get_datatime
# 获取数据库连接
from SaaSDevelTool.data_mysql_data import db

"""开启/关闭用户组"""


class SaaSDevelRoleRbacDelete(View):
    @error_message_detection
    # 定义函数
    def post(self, request):
        # 输入用户组编号
        role_id = request.POST.get("role_id")
        # 输入用户组状态(开启：open,关闭:off)
        api_status = request.POST.get("api_status")
        # 判断参数是否完整
        if not role_id:
            return create_response(code=400, msg="未选择对应的用户组。")
        # 判断状态
        if api_status == "open":
            # 编写修改状态
            update_base_info_role_table_sql = """
                update
                    db_center_rbac.base_info_role_table
                set
                    update_time = '{}',
                    role_status = 0
                where
                    role_id = {}
            ;""".format(get_datatime(), role_id)
            # 执行修改语句
            db.update(update_base_info_role_table_sql)
            return create_response(code=200, msg="用户组开启成功。")
        elif api_status == "off":
            # 编写修改状态
            update_base_info_role_table_sql = """
                update
                    db_center_rbac.base_info_role_table
                set
                    update_time = '{}',
                    role_status = 1
                where
                    role_id = {}
                        ;""".format(get_datatime(), role_id)
            # 执行修改语句
            db.update(update_base_info_role_table_sql)
            return create_response(code=200, msg="用户组禁用成功。")
        else:
            return create_response(code=400, msg="api_status参数传递错误。")
